Phone no: (021) 7989671 or email us: info@zahra-itsolution.com
Posted on 15 August 2024
Fitur pencarian adalah salah satu elemen penting dalam sebuah aplikasi web untuk memudahkan pengguna menemukan data yang mereka butuhkan. Dalam tutorial ini, kita akan membahas bagaimana cara membuat fitur pencarian pada halaman Mata Kuliah di aplikasi Laravel Anda.
Langkah pertama adalah menambahkan form input untuk pencarian di view Mata Kuliah. Buka file view Mata Kuliah Anda (misalnya matakuliah/index.blade.php
) dan tambahkan kode cetak Kuning berikut di bagian atas tabel daftar Mata Kuliah:
@extends('layouts.app') @section('content') <div class="container"> <h1>Daftar Mata Kuliah</h1> <!-- Form Pencarian --> <form action="{{ route('matakuliah.search') }}" method="GET"> <div class="input-group mb-3"> <input type="text" name="query" class="form-control" placeholder="Cari Mata Kuliah..." value="{{ request()->input('query') }}"> <div class="input-group-append"> <button class="btn btn-primary" type="submit">Cari</button> </div> </div> </form> <!-- Daftar Mata Kuliah --> @if($matakuliahs->count()) <table class="table table-bordered"> <thead> <tr> <th>Kode</th> <th>Nama Mata Kuliah</th> <th>Aksi</th> </tr> </thead> <tbody> @foreach($matakuliahs as $matakuliah) <tr> <td>{{ $matakuliah->code }}</td> <td>{{ $matakuliah->name }}</td> <td> <!-- Tombol aksi seperti edit dan hapus --> </td> </tr> @endforeach </tbody> </table> @else <p>Tidak ada Mata Kuliah yang ditemukan.</p> @endif {{ $matakuliahs->links() }} </div> @endsection
Kode ini menambahkan form pencarian di atas tabel daftar Mata Kuliah. Ketika pengguna memasukkan kata kunci dan menekan tombol "Cari", permintaan akan dikirim ke route yang menangani pencarian.
Selanjutnya, kita perlu menambahkan route yang akan menangani permintaan pencarian dari form di atas. Buka file routes/web.php
dan tambahkan route berikut:
Route::get('/matakuliah/search', [MatakuliahController::class, 'search'])->name('matakuliah.search');
Route ini akan memanggil metode search
di MatakuliahController
ketika permintaan pencarian dilakukan.
Sekarang, tambahkan metode search
di dalam MatakuliahController
untuk menangani logika pencarian. Metode ini akan mengambil query dari form pencarian dan melakukan pencarian di database berdasarkan nama atau kode Mata Kuliah.
public function search(Request $request) { $query = $request->input('query'); // Mencari Mata Kuliah berdasarkan nama atau kode $matakuliahs = Matakuliah::where('name', 'LIKE', "%$query%") ->orWhere('code', 'LIKE', "%$query%") ->get(); return view('matakuliah.index', compact('matakuliahs')); }
Metode ini mencari data Mata Kuliah yang nama atau kodenya mengandung kata kunci yang dimasukkan pengguna. Hasil pencarian kemudian ditampilkan kembali di view yang sama (matakuliah.index
).
Jika data yang ditemukan melebihi batas yang ditentukan, kita bisa menambahkan fitur paginasi agar pengguna dapat melihat hasil pencarian dengan nyaman. Kode di atas menggunakan paginate(10)
, yang artinya hanya akan menampilkan 10 data per halaman.
Untuk menampilkan kontrol paginasi di view, pastikan Anda sudah menambahkan kode berikut di bagian bawah tabel:
{{ $matakuliahs->links() }}
Ini akan secara otomatis menghasilkan kontrol paginasi berdasarkan jumlah total hasil pencarian.
Sekarang, jalankan aplikasi Laravel Anda dan buka halaman Mata Kuliah. Anda akan melihat form pencarian di bagian atas tabel. Ketika pengguna memasukkan kata kunci dan menekan tombol "Cari", hasil pencarian akan ditampilkan di tabel di bawahnya.
Dengan menyelesaikan tutorial ini, Anda telah berhasil membuat fitur pencarian sederhana untuk halaman Mata Kuliah di aplikasi Laravel Anda. Fitur ini memungkinkan pengguna untuk mencari Mata Kuliah berdasarkan nama atau kode dengan mudah. Anda dapat mengembangkan fitur ini lebih lanjut, seperti menambahkan filter tambahan untuk pencarian yang lebih spesifik.
Selamat mencoba dan semoga artikel ini bermanfaat!
Baca juga:
Tutorial: Membuat Tampilan (View) untuk CRUD di Laravel